package com.ruoyi.system.domain.dao;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.DtoBaseEntity;
import com.ruoyi.common.core.domain.DtoBaseEntity;

/**
 * 部门对象 sys_dept
 *
 * @author ruoyi
 * @date 2025-09-02
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("sys_dept")
public class SysDeptDao extends DtoBaseEntity {
        private static final long serialVersionUID = 1L;

        /** 部门id */
        @TableId(value = "dept_id",type = IdType.ASSIGN_ID)
        private String deptId;

        /** 父部门id */
        @Excel(name = "父部门id")
        private String parentId;

        /** 祖级列表 */
        @Excel(name = "祖级列表")
        private String ancestors;

        /** 部门名称 */
        @Excel(name = "部门名称")
        private String deptName;

        /** 简称 */
        @Excel(name = "简称")
        private String simpleName;

        /** 机构类型，0-单位/公司，1-部门/中心，2-科室/处室，3-班组/小组 */
        @Excel(name = "机构类型，0-单位/公司，1-部门/中心，2-科室/处室，3-班组/小组")
        private String orgType;

        /** 显示顺序 */
        @Excel(name = "显示顺序")
        private Integer orderNum;

        /** 负责人 */
        @Excel(name = "负责人")
        private String leader;

        /** 联系电话 */
        @Excel(name = "联系电话")
        private String phone;

        /** 邮箱 */
        @Excel(name = "邮箱")
        private String email;

        /** 部门状态（0正常 1停用） */
        @Excel(name = "部门状态", readConverterExp = "0=正常,1=停用")
        private String status;

        /** 删除标志（0代表存在 2代表删除） */
        private String delFlag;

        /** 部门编号 */
        @Excel(name = "部门编号")
        private String orgCode;

        /** 部门负责人角色 */
        @Excel(name = "部门负责人角色")
        private String deptLeaderRole;

        /** 部门分管领导角色 */
        @Excel(name = "部门分管领导角色")
        private String deptDeputyInChargeRole;

        /** 旧数据 */
        @Excel(name = "旧数据")
        private String oldData;

}